The present invention relates to a communication device and method used for configuring a link, preferably one that accesses a communication network that operates by exchanging packets. An example of such a communication network is the internet.
The internet is a network of computers, where communication is conducted by means of units referred to as xe2x80x9cpacketsxe2x80x9d. This means that the information to be transmitted is distributed over such packets, and these packets can be sent individually and independently over the network. This communication is governed by a protocol, in this case the so-called internet protocol IP. A protocol is a set of rules that determines the format and the general communication procedure, so that each member of the network must conform to the protocol in order to be able to communicate with the other members.
There are different possibilities of accessing the internet. The most basic is via a dedicated line, i.e. a line that is constantly connected to another computer that is a part of the network. The computer accessing the network via a dedicated line thereby becomes a member of the network, i.e. the network is thereby extended. The communication along the line is conducted in accordance with the IP. However, a dedicated line is expensive, so that such an arrangement only makes sense for a user requiring permanent access to the internet and/or the quick transmitting of large data amounts.
An alternative to a dedicated line is a pseudo-dedicated connection that is only established if a connection to the internet is required, but then acts just like a dedicated line. A typical example of such a connection is a modem link from a single user to a server in the internet, such as a university computer or commercial internet access server. The user only establishes a connection to the internet when necessary, so that the high costs entailed by a dedicated line are not incurred, but the established connection lets the user become a full member of the internet, because the connection then acts like a dedicated line.
Such a pseudo-dedicated connection between two points (the computer wishing to temporarily access the internet on the one hand, and the server in the internet that is typically connected to a plurality of other internet members on the other) requires its own protocol. Two known protocols are SLIP (Serial Line Internet Protocol) and PPP (Point to Point Protocol). In recent years, PPP has become the dominant protocol for such pseudo-dedicated connections.
PPP is defined in the Networking Group RfC (Request for Comments) 1661, editor W. Simpson, July 1994. PPP is comprised of three main components: a method of encapsulating multi-protocol datagrams, a datagram being a unit of transmission in the network layer (such as IP), a ink control protocol (LCP) for establishing, configuring and testing the data-link connection, and a family of network control protocols (NCP) for establishing and configuring different network-layer protocols. The Point-to-Point Protocol is designed to transport packets between two so-called peers, i.e. the two ends of a link conforming to the protocol. These links provide full-duplex simultaneous bi-directional operation.
The communication across the link established by PPP is accomplished such that a datagram, i.e. the unit of transmission in the network layer, such as IP, is encapsulated into one or more frames and passed to the data link layer. The unit of transmission on the data link layer is a frame, where said frame may include a header and/or a trailer, along with some number of units of data. Usually, a packet is mapped to a frame.
The LCP is used to agree upon the encapsulation format options, handle varying limits on sizes of packets, detect configuration errors, and terminate the link. Other optional facilities are the authentication of the identity of its peer on the link, and the determination when a link is functioning properly and when it is failing.
FIG. 2 shows a PPP encapsulation in accordance with RfC 1661. Reference numeral 1 indicates a protocol field, 2 an information field, and 3 a padding field. These fields are transmitted in an order from left to right.
The protocol field 1 is one or two octets (an octet is another expression for an 8-bit byte), and its value identifies the datagram encapsulated in the information field 2 of the packet. Protocol field values in the xe2x80x9c10***xe2x80x9d to xe2x80x9c3***xe2x80x9d range identify the network-layer protocol for specific packets, and values in the xe2x80x9c8***xe2x80x9d to xe2x80x9cb***xe2x80x9d range identify packets belonging to the associated NCPs, if any. Protocol field values in the xe2x80x9c4***xe2x80x9d to xe2x80x9c7***xe2x80x9d range are used for protocols with low volume traffic which have no associated NCP. Protocol field values in the xe2x80x9cc***xe2x80x9d to xe2x80x9cf***xe2x80x9d range identify packets as link-layer control protocols , such as LCP. RfC 1661 makes the following reservations for said values:
The information field is 0 or more octets. The information field contains the datagram for the protocol specified in the protocol field. The maximum length for the information field is termed the Maximum Receive Unit (MRU), which defaults to 1500 octets or bytes, including the padding. By negotiating, consenting PPP implementations may use other values for the MRU.
Finally, the information field may be padded with an arbitrary number of octets up to the MRU. This padding is contained in the padding field and it is the responsibility of each protocol to distinguish between padding octets and real information.
In accordance with RfC 1661, in order to establish communications over a point-to-point link, each end of the PPP link must first send LCP packets to configure and test the data link. This is an absolute requirement. After the link has been established, the peer may be authenticated, i.e. this is an option. Then, PPP must send NCP packets to choose and configure one or more network-layer protocols, i.e. this is again an absolute requirement. Once each of the chosen network-layer protocols has been configured, datagrams from each network-layer protocol can be sent over the link. The link will remain configured for communication until explicit LCP packets close the link down, or until some external event occurs (e.g. an inactivity timer expires).
It should be remarked that there are three basic answers for a peer to send out in response to the receipt of a configure request packet over the link: sending an ACK packet (acknowledged), e.g. to indicate that a setting proposed in the received packet is accepted, sending a NACK packet (not acknowledged), e.g. to indicate that a proposed setting is not accepted, or sending a reject packet, to thereby indicate that the received packet cannot be accepted, e.g. because it has the wrong syntax. The peer can also react to the receipt of a packet by discarding it without sending out a reject packet. This is consequently referred to as xe2x80x9csilentxe2x80x9d discarding.
As already mentioned, the Link Control Protocol (LCP) is used to establish the connection through an exchange of configure packets. This exchange is complete, and the LCP opened state entered, once a configure ACK (acknowledgment) packet has been both sent and received. During this so-called link establishment phase, only LCP packets are processed and any non-LCP packets are necessarily discarded without processing.
After the link establishment phase, an authentication phase may follow, i.e. is optional. However, if an implementation desires that the peer authenticate with some specific authentication protocol, then it necessarily must request the use of that authentication protocol during the link establishment phase. Another phase that can follow the link establishment phase, is the link quality determination phase, in which link quality determination packets are exchanged. Authentication and link quality determination can take place concurrently. After the authentication phase, the following phase of exchanging NCP packets is only entered if the authentication is successful, otherwise a link termination is enacted. During this phase, only LCP packets, authentication protocol packets and link quality determination packets are processed and all other packets received during this phase are necessarily discarded without processing.
Once the above mentioned phases have successfully been completed, each network layer must necessarily be separately configured by the appropriate Network Control Protocol (NCP). An example of such a NCP is the IPCP (Internet Protocol Control Protocol). After a NCP has reached an opened state, PPP will carry the corresponding network-layer protocol packets. Any supported network-layer protocol packets received when the corresponding NCP is not in the opened state, must necessarily be discarded without processing.
Finally, a link termination phase comprises using the LCP to close the link through an exchange of terminate packets. Any non-LCP packets received during this phase must necessarily be discarded without processing.
In recent years, not only the importance of the internet as a communication means and information tool has expanded, but also the providing of wireless communication networks like cellular telephone networks has become almost ubiquitous. As a consequence, there is a demand for devices and methods for establishing links to the internet for wireless or cellular subscribers.
If the internet is accessed via cellular networks, the Point-to-Point Protocol (PPP) is most commonly used for configuration of the pre-established circuit-switched link. This will be explained with reference to FIG. 3.
The bottom part of FIG. 3 shows an arrangement in which the terminal equipment TE in a mobile node 10 communicates with a network node in order to communicate with the internet. The terminal equipment is e.g. a laptop computer. The TE is connected to the MS/TAF, which means Mobile Station/Terminal Adaptation Function. The mobile station is e.g. a mobile telephone, and the terminal adaptation function is e.g. fulfilled by a PCMCIA interface connecting the mobile telephone and the laptop computer. The mobile station MS establishes a communication link to the mobile switching center MSC. The mobile switching center is connected to an access unit AU via an inter-working function IWF. The access unit AU terminates the circuit switched connections and routes the network layer PDUs to and from the internet.
As indicated in the upper part of FIG. 3, the terminal equipment (TE) in mobile node 10 and the direct access unit (AU) are controlled such that the pre-established traffic channel between them is configured in accordance with the PPP, and then network layer protocol data units (PDU), e.g.
IP packets, are transmitted over the channel. The double arrow 40 represents the configured link between the TE and the AU, said link being configured in accordance with PPP to thereby transmit IP packets. The number 802 refers to a framing standard for LANs.
The different communication phases required by the PPP described above are shown schematically in FIG. 4. The communication begins when the two peers in the TE and AU are informed (e.g. receive the message) that the basic communication link is established, i.e. that the link is up. In the example of FIG. 3, the mobile unit, e.g. a cellular telephone, will indicate an established circuit switched connection to the terminal equipment, e.g. the laptop computer. In the above described example this basic link is the circuit switched link provided by the cellular system to which mobile station MS and mobile switching center MSC belong. For simplicity, FIG. 4 only shows the requests sent by the terminal equipment (TE) and the acknowledgments sent by the access unit (AU), but it should be understood that in response to the basic link being up, in fact both peers start transmitting these requests almost simultaneously. It is also important to note that FIG. 4 shows the absolute ideal case for configuring and communicating in accordance with PPP, i.e. it shows the minimum amount of information exchange.
In the first phase, the link establishment phase, an LCP request packet and an LCP request acknowledgement packet are exchanged. As explained above, this phase is mandatory and serves the purpose of establishing the PPP link. The second phase shown is the authentication phase, which consists in exchanging a PAP/CHAP request packet and a PAP/CHAP request acknowledgement packet (PAP =Password Authentication Protocol; CHAP=Challenge-Handshake Authentication Protocol). This phase is optional, but usually employed, as it increases security. The third phase is then the NCP phase, in this case an IPCP phase (IPCP=Internet Protocol Control Protocol), i.e. the network control protocol to be opened is an internet control protocol. This phase comprises the exchange of an IPCP request packet and an IPCP request acknowledgment package. This phase is mandatory. Only after this IPCP phase is a link established that conforms to PPP and IP, such that IP packets can now be exchanged and therefore the terminal equipment in mobile node 10 be fully connected to the internet.
The duration for exchanging one set of packets is referred to as the round trip time (RTT), see FIG. 4. In other words, the round trip time is the time that passes between the sending of a request packet and the receipt of the corresponding acknowledgment packet.
It should be noted that the the CHAP requires a three-way handshake initiated by the AU (not shown in FIG. 4), as opposed to the two-way handshake required by the PAP, which is initiated by the TE, as shown in FIG. 4. However, this does not increase the duration of the phase, because the AU can send the first CHAP packet back to back with the last LCP request acknowledgment packet that it sends.
According to the requirements for PPP laid out in RfC 1661, each of the above mentioned phases must be completed before the next can begin. Consequently, the absolute minimum configuration time before IP packets can be sent is 2 or 3 RTTs depending on wether authentication is chosen or not. In practice, the duration for establishing a link can be as long as 7 RTTs or more. This is due to the negotiating in the LCP or IPCP phases. In the case that the PPP peers prefer different link settings, the negotiating of the options handled by the LCP and the NCPs can take several RTTs, because NACKs (not acknowledged) and new requests have to be exchanged. If link quality determination protocol packets are additionally exchanged, then the establishment time becomes even longer. The RTT of traffic channels in cellular networks can be as high as 850 ms. In GSM, as an example of a cellular standard, the RTT is never below 600 ms and usually around 750 ms, independent of how many traffic channels are bundeled together for a single connectionxe2x80x94as done in HSCSD (High Speed Circuit-Switched Data).
This problem of long link establishing times, which a user perceives as waiting times before data can be sent or received over the internet, is bothersome to the user. It should be noted that this problem is not restricted to systems operating according to PPP as laid out in RfC 1661, but will be encountered in any system that has the above mentioned strict requirements regarding the completing of specific connection phases before subsequent connection phases can be started.
Accordingly, an object of the present invention is to provide an improved method for controlling a device that is designed to establish a link to a packet exchange network (e.g. the internet).
Another object is to provide a corresponding device.
These objects are achieved by a method for controlling a communication device that is connected to another communication device by a communication link, for configuring said communications link for packet exchange, where one of said two communication devices is on the other side connected to a packet exchange network conforming first protocol (e.g. IP), wherein said method comprise the possibility of controlling said device such that the communication over said link is conducted by exchanging packets in accordance with a second predetermined protocol (e.g. PPP) that encapsulates at least said first protocol and comprises a third protocol (e.g. LCP) for establishing and configuring said link, and wherein said second protocol requires that
a packet sent over said link comprises a protocol field, for which predetermined values are reserved for predetermined protocols, where at least one specific value is reserved for said third protocol, and other predetermined values are not used by said second protocol, and an information field containing data associated with the protocol indicated by the value contained in said protocol field, and
the process of configuring a link comprises at least one phase in which packets are exchanged such that only packets indicating said third protocol in their protocol fields are processed and all other packets are discarded, said method furthermore comprising the steps:
sending out a packet of a first type over said link that conforms to said second protocol and indicates said third protocol in its protocol field, and
subsequently sending out at least one packet of a second type that has a value in its protocol field that is allowed by said second protocol but not used by said second protocol, such that said second packet is not rejected by communications devices operating in accordance with said second protocol, but is discarded without processing by these,
waiting for the receipt of a packet of said first type and storing said packet once it is received, waiting a predetermined time for the subsequent receipt of a packet of said second type,
processing said stored packet of said first type if no packet of the second type is received and subsequently operating in accordance with said second protocol, and
processing said packet of the second type if such a packet is received.
In accordance with the invention, if the two peers connected to a link operate according to the above method, it is possible to avoid the sequential steps of link configuration employed by the second protocol (e.g. PPP) by sending all the necessary information (e.g. LCP, IPCP etc.) in parallel, i.e. concurrently in both directions. This greatly increases the speed of link configuration. On the other hand, if only one of the peers operates in accordance with the present invention, and the other in accordance with said second protocol, then the inventive peer will automatically fall back into a mode of operation that conforms to said second protocol. Thus compatibility is retained.
As a consequence, the present invention can be integrated into existing systems without any compatibility problems to other systems operating in accordance with the second protocol (e.g. standard PPP). On the other hand, if both peers forming a point to point link conform to the present invention, then data communication by packet exchange can be established much faster than with the second protocol (e.g. standard PPP).
The present invention is therefore especially advantageous when applied to those parts of a cellular communication system that handle the configuration of point to point links to packet exchange networks like the internet.
However, the present invention is not restricted thereto and can also be advantageously applied to all other high-latency communication links, e.g. satellite links, and/or to the modification of other so-called xe2x80x9cchattyxe2x80x9d protocols, i.e. protocols that require the exchange of an excessive number of packets when configuring a link, of which standard PPP in accordance with RfC 1661 is only an example.
The present invention will now be described in detail with the help of preferred embodiments, which are only given as examples and do not restrict the scope, and with reference to the appended figures, in which
FIG. 1 shows a flowchart describing the basic method of the present invention;
FIG. 2 shows an encapsulation for the Point-to-Point Protocol in accordance with RfC 1661;
FIG. 3 shows a schematic setup of a connection between a mobile node of a cellular communication system and a network node, to thereby establish a connection from said mobile node to the internet;
FIG. 4 shows the sequence of packets exchanged between the terminal equipment in the mobile node of FIG. 3 and the direct access unit in the network node of FIG. 3, when a link is established in accordance with the standard Point-to-Point Protocol, where it should be remarked that the figure only shows the series of packets initiated by TE and it shows the fastest possible link configuration;
FIG. 5 shows a sequence of packets exchanged between the mobile node and network node when establishing a link in accordance with an embodiment of the present invention;
FIG. 6 shows a sequence of packets exchanged between the mobile node and network node when establishing a link in accordance with another embodiment of the present invention;
FIG. 7 shows a sequence of packets exchanged between the mobile node and network node when establishing a link in accordance with yet another embodiment of the present invention;
FIG. 8 shows a sequence of packets exchanged between the mobile node and network node when establishing a link corresponding to the embodiment of FIG. 5, except that a first IP packet is sent by the mobile node prior to having received the IP address from the network node;
FIG. 9 shows a sequence of packets exchanged between the mobile node and network node when establishing a link corresponding to the embodiment of FIG. 6, except that a first IP packet is sent by the mobile node prior to having received the IP address from the network node; and
FIG. 10 shows a sequence of packets exchanged between the mobile node and network node when establishing a link corresponding to the embodiment of FIG. 7, except that a first IP packet is sent by the mobile node prior to having received the IP address from the network node.